#include <ros/ros.h>
#include <stdio.h>
#include <sensor_msgs/LaserScan.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl_conversions/pcl_conversions.h>
#include <sensor_msgs/point_cloud_conversion.h>
#include <pcl/point_types.h> 
#include <tf/transform_broadcaster.h>
#include <QtExtSerialPort/qextserialport.h>
#include <QCoreApplication>
#include <QDebug>

// opengl related headers
#include <GL/glew.h>
#include <GL/freeglut.h>

int main(int argc, char ** argv)
{
    glutInit(&argc, argv);
    ros::init(argc, argv, "leo_driver");
    
    ros::NodeHandle nh;
    
    ros::Publisher leo_pointcloud_pub = 
    nh.advertise<sensor_msgs::LaserScan>("/base_scan", 10);

    ros::Rate loop_rate(5);

    glutInitWindowSize(400, 400);
    glutInitDisplayMode(GLUT_RGB | GLUT_STENCIL | GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("Stenciled hidden surface removal"); 
        
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);
    
    glutMainLoop();
    
    return 0; 
}
